home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / pyshared / PIL / PaletteFile.py < prev    next >
Text File  |  2006-12-03  |  1KB  |  54 lines

  1. #
  2. # Python Imaging Library
  3. # $Id: PaletteFile.py 2134 2004-10-06 08:55:20Z fredrik $
  4. #
  5. # stuff to read simple, teragon-style palette files
  6. #
  7. # History:
  8. #       97-08-23 fl     Created
  9. #
  10. # Copyright (c) Secret Labs AB 1997.
  11. # Copyright (c) Fredrik Lundh 1997.
  12. #
  13. # See the README file for information on usage and redistribution.
  14. #
  15.  
  16. import string
  17.  
  18. ##
  19. # File handler for Teragon-style palette files.
  20.  
  21. class PaletteFile:
  22.  
  23.     rawmode = "RGB"
  24.  
  25.     def __init__(self, fp):
  26.  
  27.         self.palette = map(lambda i: (i, i, i), range(256))
  28.  
  29.         while 1:
  30.  
  31.             s = fp.readline()
  32.  
  33.             if not s:
  34.                 break
  35.             if len(s) > 100:
  36.                 raise SyntaxError, "bad palette file"
  37.  
  38.             v = map(int, string.split(s))
  39.             try:
  40.                 [i, r, g, b] = v
  41.             except ValueError:
  42.                 [i, r] = v
  43.                 g = b = r
  44.  
  45.             if 0 <= i <= 255:
  46.                 self.palette[i] = chr(r) + chr(g) + chr(b)
  47.  
  48.         self.palette = string.join(self.palette, "")
  49.  
  50.  
  51.     def getpalette(self):
  52.  
  53.         return self.palette, self.rawmode
  54.